﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CSharpAlgorithm
{
    class Volumn
    {
        private int maxVol = 0;
        private int vm = 0;
        public Volumn()
        {
            int testCase = GetConsole.GetInt();
            for (int T = 0; T < testCase; T++)
            {
                //입력
                int n = GetConsole.GetInt();
                int vs = GetConsole.GetInt();
                vm = GetConsole.GetInt();
                int[] vi = new int[n];
                maxVol = -1;
                for (int i = 0; i < n; i++)
                {
                    vi[i] = GetConsole.GetInt();
                }
                //처리
                AddVol(vi, 0, vs);
                Console.WriteLine(maxVol);
            }
            GetConsole.GetInt();
        }

        private void AddVol(int[] vi, int i, int vol)
        {
            int plusVol = vol + vi[i];
            int minusVol = vol - vi[i];
            if (plusVol <= vm)
            {
                if (i + 1 == vi.Length)
                {
                    if (plusVol > maxVol)
                    { maxVol = plusVol; }
                }
                else
                {
                    AddVol(vi, i + 1, plusVol);
                }
            }
            if (minusVol >= 0)
            {
                if (i + 1 == vi.Length)
                {
                    if(minusVol > maxVol)
                    { maxVol = minusVol; }
                }
                else
                {
                    AddVol(vi, i + 1, minusVol);
                }
            }
        }
    }
}
